﻿using System.Collections.Generic;
using Validate.Library;

namespace Authority.Model
{
    /// <summary>
    /// 角色菜单按钮关系表修改信息
    /// </summary>
    public class RoleMenuButtonModifyRequest
    {
        /// <summary>
        ///角色唯一标识符
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "角色唯一标识符")]
        public string gRoleCode
        {
            get; set;
        }

        /// <summary>
        ///菜单唯一标识符
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "菜单唯一标识符")]
        public string gMenuCode
        {
            get; set;
        }

        /// <summary>
        ///角色菜单按钮关系表修改信息
        /// </summary>
        public List<RoleMenuButtonModifyInfo> roleMenuButtonModifyInfo
        {
            get; set;
        }

    }

    /// <summary>
    /// 角色菜单按钮关系表修改信息
    /// </summary>
    public class RoleMenuButtonModifyInfo {

        /// <summary>
        ///RoleButton唯一标识符
        /// </summary>
        public string gCode
        {
            get; set;
        }

        /// <summary>
        ///角色唯一标识符
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "角色唯一标识符")]
        public string gRoleCode
        {
            get; set;
        }

        /// <summary>
        ///菜单唯一标识符
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "菜单唯一标识符")]
        public string gMenuCode
        {
            get; set;
        }

        /// <summary>
        ///菜单按钮关系唯一标识符
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 50, Description = "菜单按钮关系唯一标识符")]
        public string gMenuButtonCode
        {
            get; set;
        }

        /// <summary>
        ///排序
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 10, Description = "排序")]
        public float iSort
        {
            get; set;
        }

        /// <summary>
        ///按钮类型 0普通按钮 1小按钮 2都有
        /// </summary>
        [Validate(ValidateType.NotEmpty | ValidateType.MaxLength, MaxLength = 10, Description = "按钮类型")]
        public int iType
        {
            get; set;
        }

        /// <summary>
        ///小按钮特殊处理脚本
        /// </summary>
        public string sMinBtnRemark
        {
            get; set;
        }
    }
}
